Code mobility and Java RMI
نویسنده
چکیده
Today, more programmers than ever before are charged with the development and main tenance of distributed objectoriented applications. These tasks are dif cult to tackle alone, as distribution introduces myriad complications and opportunities for failure that are not encountered in centralised programs. Fortunately, the programmer is not alone. Several frameworks exist that attempt to transparently take care of many of the dif cul ties and small annoyances of distributed application development. However, by automating the activities required by distributed programs, such as mar shaling data for network transfer, we make it harder to understand the behaviour of these programs at sourcecode level. To rectify this, this thesis gives a formal semantics for a distributed objectoriented language. We call this language DJ, and it models key fea tures of the Java Remote Method Invocation framework. Importantly, it facilitates the marshaling of executable code as well as data, allowing the programmer to create higher order functions that can be stored and used as and when needed by an application. A signi cant contribution of this thesis is establishing type safety for this language. This requires the speci cation of a nontrivial number of invariant properties that dis tributed applications must preserve, capturing important sanity conditions such as en suring that local references do not leak to remote sites. We develop a theory of behavioural equivalence for DJ. Given as a set of semantically sound transformation rules that can be applied to source code and runtime terms, this theory judges two programs to be equivalent if they can be transformed into one an other. We then apply our technique to establishing the correctness of arguably typical distributed program optimisations. We conclude this thesis by proposing an extension to DJ, called DJ+, that models the concurrency features of Java. Type safety for this language is established using extended invariant properties.
منابع مشابه
Implementation of Runtime Code Generator for RMI
This paper describes RuCOS runtime code generator for object serialization embedded into RMI. We developed RuCOS and a modified Java RMI. The feature of RuCOS is dynamic code generation for serialization / deserialization at runtime. We can improve the performance of RMI using RuCOS in comparison with standard Java RMI. In this paper, the implementation issues of RuCOS are described. Key-word: ...
متن کاملClass Loading Issues in JavaTM RMI and JiniTM Network Technology
Java class loading plays a key role in the Java Remote Method Invocation (Java RMI) and Jini architectures by enabling code mobility over the network. However, it has also saddled these architectures with a set of type compatibility and code downloading issues that commonly result in run-time errors and programmer confusion. This paper describes the Java RMI class loading model and examines its...
متن کاملEmbedding Remote Object Mobility in Java RMI
Mobile code offers several capabilities such as bandwidth-efficient communication, disconnected operation, and support for dynamic and flexible systems. Nevertheless, mobile code based programming paradigms have difficulty in flowing from research activities to commercial systems. The main reason seems to be the lack of integration between the language support for mobility and a familiar progra...
متن کاملEvaluation of Constrained Mobility for Programmability in Network Management
In recent years, a significant amount of research work has addressed the use of code mobility in network management. In this paper, we introduce first three aspects of code mobility and argue that constrained mobility offers a natural and easy approach to network management programmability. While mobile agent platforms can support constrained mobility in a rather heavyweight fashion, optimized ...
متن کاملAmbassadors: Structured Object Mobility in Worldwide Distributed Systems
In many distributed systems applications deployed on the worldwide scale, it is latency, rather than bandwidth, that is the primary determinant of performance. This paper describes Ambassadors, a communication technique using mobile Java objects within an RPC/RMI-like communication structure. Ambassadors minimise the aggregate latency of sequences of inter-dependent remote operations by migrati...
متن کاملA Dynamic Proxy Based Architecture to Support Distributed Java Objects in a Mobile Environment
Java Remote Method Invocation (RMI), as a distributed object technology, has poor existing support for operation in wireless mobile computing environments. The use of RMI in a mobile environment poses a number of problems related to hardware mobility and the characteristics of wireless networks. This paper describes an implementation of an architecture supporting RMI client and server applicati...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2006